HRK Tech Blog
© 2026 HRK Tech Blog. All rights reserved.
一覧に戻る

⚠️ 免責事項

本記事の内容は筆者の個人的な見解や検証結果に基づいています。記載されたコードや設定を利用したことによる不具合・損害について、筆者は一切の責任を負いかねますので、自己責任でご利用ください。

WindowsのNeovim (LazyVim) でJava開発環境を構築するまでの完全トラシューガイド
#Java#vim#neovim#lazyvim

WindowsのNeovim (LazyVim) でJava開発環境を構築するまでの完全トラシューガイド

📅2026年3月2日

概要

Windows環境にNeovimをインストールし、設定フレームワークの「LazyVim」を使って快適な開発環境を作ろうとしました。
しかし、ファイル検索が動かなかったり、Javaの言語サーバー(jdtls)の起動で様々なエラーが出たので、解決を備忘録としてまとめます。

これからWindows + LazyVimでJavaを書きたい方の参考になれば幸いです。

1. ファイル検索(<Space> f f)で何も表示されない問題

ファイル検索(TelescopeやSnacks、fzf-luaなど)を使おうとしても、結果が空っぽになるか、以下のようなエラーが出ました。

Command failed: cmd: find . -type f ...

原因と解決策

Windowsには、検索をしてくれる裏方のツール(fd と rg)が標準で入っていないことが原因でした。
PowerShell(またはコマンドプロンプト)を開き、wingetで必要なツールをインストールします。

winget install sharkdp.fd
winget install BurntSushi.ripgrep.MSVC

環境変数(PATH)を反映させるために、ターミナルを完全に再起動する(一番確実なのはPCの再起動) 必要があります。
再起動後、ターミナルで fd --version と打ってバージョンが出れば成功です。

2. ただのフォルダが「プロジェクト」として認識されない

ファイル検索は動くようになりましたが、学習用に適当に作ったフォルダを開いて検索しようとすると、うまくプロジェクト全体を検索してくれませんでした。

原因と解決策

LazyVimは、フォルダの中に .git フォルダや pom.xml のような**「プロジェクトの目印」**がないと、そこをプロジェクトのルート(頂点)として認識してくれないようです。

一番手っ取り早い解決策は、そのフォルダで以下のコマンドを打つことでした。

git init

Gitでバージョン管理をするつもりがなくても、空の .git フォルダができることで、LazyVimが「プロジェクト」と認識してくれるようになります。

3. Java環境(jdtls)の構築のエラー解決

LazyVimでJavaを書くために :LazyExtras から lang.java を有効化し、.java ファイルを開いたところ、右上に様々なWarningが表示されました。
Mason(ツール管理)で jdtls をインストール・起動するまでのエラーと解決策です。

エラー①:Masonでのインストールがロックされる

Masonの画面で jdtls をインストール(iキー)しようとしたら、下記エラーが表示されました。

Lockfile exists, installation is already running in another process...

原因と解決策

裏側でインストールが中途半端に固まってしまった状態でした。
コマンドモードから強制的に再インストールさせます。

:MasonInstall jdtls --force

エラー②:exit code 9009 で起動しない

インストールはできたものの、ファイルを開くと警告が。

Client jdtls quit with exit code 9009 and signal 0. Check log for errors...

:LspLog でエラーログを見てみると、 "Python" という文字が多数表示されていました。

原因と解決策

Windows環境の jdtls 起動スクリプト(jdtls.CMD)は、裏側でPythonを使ってJavaの設定を組み立てる仕様だったようです。Pythonが入っていなかったのが原因でした。

下記を実行しpythonをインストールし、PCを再起動することで解決できました。

winget install Python.Python.3.12

エラー③:exit code 1 が表示され起動できない

Pythonを入れて解決できたと思いましたが、今度は exit code 1 というエラーがでました。
再度 :LspLog の一番下を確認すると、下記ログの一文がありました。

Exception: jdtls requires at least Java 21

原因と解決策

最新の jdtls は最低でもJava 21を要求するようになっていました。
自分のPCにはJava 17しか入っていなかったのが原因です。

winget install Microsoft.OpenJDK.21

最新のJava 21をインストールし、再度PCを再起動。
java -version で21になっていることを確認します。

おわりに

.java ファイルを開くと、インレイヒント(変数名のガイド)が表示され、メソッドの入力補完やエラーの赤線チェックが効くようになりました。

WindowsでLazyVimを使っていて、「ファイル検索ができない」「Javaのエラーが消えない」という方は、ぜひツールのインストールとPCの再起動、そしてバージョンの確認を試してみてください!

関連記事

MavenアプリのDocker化
#Java#Docker

MavenアプリのDocker化

2026/4/7